package org.jing.core.logger.itf;

import org.jing.core.lang.JingException;
import org.jing.core.logger.JingLoggerConfiguration;

/**
 * Description: <br>
 *
 * @author bks <br>
 * @since 2021-08-16 <br>
 */
public interface JingLoggerFactoryItf {
    void init(JingLoggerConfiguration config) throws JingException;

    boolean isEnable();

    JingLoggerItf getLogger(String name);

    JingLoggerItf getLogger(Class clazz);

    boolean isAllEnable();

    boolean isTraceEnable();

    boolean isDebugEnable();

    boolean isInfoEnable();

    boolean isWarnEnable();

    boolean isImpEnable();

    boolean isSqlEnable();

    boolean isErrorEnable();

    boolean isFatalEnable();

    boolean isOffEnable();

    boolean isLevelEnable(JingLoggerLevelItf level);

    void setGlobalLevel(String levelStr) throws JingException;
}
